﻿using System;
using System.Collections.Generic;

namespace Disco.Ontology
{
    public class Post : EntityBase, ITrackingEntity
    {
        public long PostTypeId { get; set; }
        public virtual PostType PostType { get; set; }

        public long ContentId { get; set; }
        public virtual Content Content { get; set; }

        public virtual ICollection<Tag> Tags { get; set; }

        public virtual ICollection<Rating> Ratings { get; set; }

        public virtual ICollection<PostReference> RefersTo { get; set; }
        public virtual ICollection<PostReference> ReferredFrom { get; set; }

        public Post()
        {
            Tags = new List<Tag>();
            Ratings = new List<Rating>();

            RefersTo = new List<PostReference>();
            ReferredFrom = new List<PostReference>();
        }

        public virtual Originator ModifiedBy { get; set; }
        public virtual ChangeDetail ChangeDetail { get; set; }
    }
}
